#include <ctype.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

/**
 * Definition for a Node.
 */
struct Node {
	int val;
	int numChildren;
	struct Node** children;
};
typedef struct Node node, *nodeP;

int maxDepth(struct Node* root);

int main()
{
	return 0;
}

int maxDepth(struct Node* root)
{
	int max = 0;
	if (!root) return max;

	for (int i = 0, len = root->numChildren; i < len; i++)
		max = fmax(max, maxDepth(root->children[i]) + 1);

	return max ? max : 1;
}
